@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo ========================================
echo 环境同步工具 - FormTest ^-^> Form1
echo ========================================

:: 检查PowerShell是否可用
powershell -Command "Get-Host" >nul 2>&1
if errorlevel 1 (
    echo 错误: 需要PowerShell支持
    pause
    exit /b 1
)

:: 获取当前目录
set "SCRIPT_DIR=%~dp0"

:: 检查PowerShell脚本是否存在
if not exist "%SCRIPT_DIR%SyncEnvironment.ps1" (
    echo 错误: 找不到 SyncEnvironment.ps1 文件
    pause
    exit /b 1
)

:: 显示菜单
echo.
echo 请选择同步模式:
echo 1. 预览模式 (只查看将要同步的内容，不实际修改)
echo 2. 标准同步 (自动备份并同步)
echo 3. 选择性同步 (逐个确认是否覆盖文件)
echo 4. 强制同步 (不询问直接覆盖)
echo 5. 退出
echo.

set /p choice="请输入选项 (1-5): "

if "%choice%"=="1" (
    echo.
    echo 执行预览模式...
    powershell -ExecutionPolicy Bypass -File "%SCRIPT_DIR%SyncEnvironment.ps1" -DryRun
) else if "%choice%"=="2" (
    echo.
    echo 执行标准同步...
    powershell -ExecutionPolicy Bypass -File "%SCRIPT_DIR%SyncEnvironment.ps1"
) else if "%choice%"=="3" (
    echo.
    echo 执行选择性同步...
    powershell -ExecutionPolicy Bypass -File "%SCRIPT_DIR%SyncEnvironment.ps1" -Selective
) else if "%choice%"=="4" (
    echo.
    echo 执行强制同步...
    powershell -ExecutionPolicy Bypass -File "%SCRIPT_DIR%SyncEnvironment.ps1" -Force
) else if "%choice%"=="5" (
    echo 退出程序
    exit /b 0
) else (
    echo 无效选项，请重新运行程序
)

echo.
pause